package entities;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.*;

@Entity
@Table(name="Proveedores")
public class Proveedor implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Id @Column
	private String cuit;
	
	@Column(nullable=false, length=90)
	private String razonSocial;
		
	@Column(nullable=false, length=90)
	private String direccion;
	
	@Column(length=90)
	private String email;
	
	@Column(length=90)
	private String observaciones;
		
	@Column(nullable=false, length=90)
	private String telefono;
	
	@ManyToMany(fetch = FetchType.EAGER,cascade = {CascadeType.ALL})
	@JoinTable(name="ProServ",joinColumns={@JoinColumn(name="cuit")},
			inverseJoinColumns={@JoinColumn(name="idServicio")})
	private List<Servicio> servicios;

	public String getCuit() {
		return cuit;
	}

	public void setCuit(String cuit) {
		this.cuit = cuit;
	}

	public String getRazonSocial() {
		return razonSocial;
	}

	public void setRazonSocial(String razonSocial) {
		this.razonSocial = razonSocial;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public List<Servicio> getServicios() {
		return servicios;
	}

	public void setServicios(List<Servicio> servicios) {
		if(this.servicios == null) this.servicios = new ArrayList<Servicio>();
		this.servicios = servicios;
	}

	public void addServicio(Servicio servicio) {
		if(this.servicios == null) this.servicios = new ArrayList<Servicio>();
		if(servicio != null) this.servicios.add(servicio);
		
	}



}